package protect.notfinish;

import java.util.Arrays;

/**
 * @author thinkpad - 83start
 * @version v1.0
 * @create 2022/9/31 19:18
 * @package Week_01
 * @description 错误的集合
 * <p>
 * 集合 s 包含从 1 到 n 的整数。不幸的是，因为数据错误，导致集合里面某一个数字复制了成了集合里面的另外一个数字的值，导致集合 丢失了一个数字 并且 有一个数字重复 。
 * <p>
 * 给定一个数组 nums 代表了集合 S 发生错误后的结果。
 * <p>
 * 请你找出重复出现的整数，再找到丢失的整数，将它们以数组的形式返回。
 * <p>
 * 示例 1：
 * <p>
 * 输入：nums = [1,2,2,4]
 * 输出：[2,3]
 * 示例 2：
 * <p>
 * 输入：nums = [1,1]
 * 输出：[1,2]
 * <p>
 * 第一个元素是错误的，第二个是缺少的元素的
 * [2,3]
 * <p>
 * [1,3]
 * <p>
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/set-mismatch
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * 未完成
 */

public class Ch04_FindErrorNums {
    public static int[] findErrorNums(int[] nums) {
        int[] rightNums = new int[nums.length];
        int[] errorNums = new int[2];

        // 先算出正确的数组
        for (int i = 0; i < nums.length; i++) {
            rightNums[0] = i + 1;
        }

        // 找出重复出现的元素
        int temp = nums[0];
        int errorNum = 0;
        for (int i = 1; i < nums.length; i++) {
            if (temp == nums[i]){
                errorNum = temp;
                break;
            }else{
                temp = nums[i];
            }
        }

        // 找出缺少的元素，并赋值

        return errorNums;
    }



    public static void main(String[] args) {
        int[] errorNums = findErrorNums(new int[]{2, 2});
        System.out.println(Arrays.toString(errorNums));
    }
}
